<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="created" content="2018-10-23T06:18:10.521000000">
    <meta name="changed" content="2021-05-21T06:18:42.262000000">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="en">
    <title>
      Demultiplexer
    </title>
    <link rel="stylesheet" type="text/css" href="../../style.css">
  </head>
  <body>
    <div class="maindiv">
      <h1>
        <img class="iconlibs" src="../../../../icons/6464/demultiplexer.png" alt="#########" height="32" width="32"> <em>Demultiplexer</em>
      </h1>
      <table>
        <tbody>
          <tr>
            <td>
              <strong>Library:</strong>
            </td>
            <td>
              <a href="index.html">Plexers</a>
            </td>
          </tr>
          <tr>
            <td>
              <strong>Introduced:</strong>
            </td>
            <td>
              2.0 Beta 11
            </td>
          </tr>
          <tr>
            <td valign="top">
              <strong>Appearance:</strong>
            </td>
            <td valign="top">
              <img  class="appearancelibs"  src="../../../../img-libs/demux.png"  alt="#########" height="64" width="64">
            </td>
          </tr>
        </tbody>
      </table>
      <h2>
        Behavior
      </h2>
      <p>
        Copies the input on the west edge onto exactly one of the outputs on the east edge; which of these outputs is specified via the current value received through the input on the south edge. I find it useful to think of a demultiplexer as analogous to a railroad switch, controlled by the
        select input.
      </p>
      <p>
        (Incidentally, some authorities spell this <em>demultiplex<strong>o</strong>r</em>, but <em>demultiplex<strong>e</strong>r</em> is the predominant spelling.)
      </p>
      <h2>
        Pins (assuming component faces east, select is bottom/left)
      </h2>
      <dl>
        <dt>
          West edge (input, bit width matches Data Bits attribute)
        </dt>
        <dd>
          The value to be routed to one of the outputs on the east edge.
        </dd>
        <dt>
          East edge, variable number (outputs, bit width matches Data Bits attribute)
        </dt>
        <dd>
          The outputs are numbered starting with 0 on the north. An output will match the west input if its number matches the value currently received through the select input on the south; otherwise, its value will be either all-zeroes or all-floating, depending on the value of the Three-State?
          attribute. If the select input contains any unspecified bits, then all outputs are floating.
        </dd>
        <dt>
          South edge, left side (input, bit width 1)
        </dt>
        <dd>
          Enable: When 0, all outputs consist of all floating bits, regardless of the data and select inputs.
        </dd>
        <dt>
          South edge, right side indicated by gray circle (input, bit width matches Select Bits attribute)
        </dt>
        <dd>
          Select input: The value of this input determines to which output on the east edge to route the value received on the west edge.
        </dd>
      </dl>
      <h2>
        Attributes
      </h2>
      <p>
        When the component is selected or being added, the digits '1' through '4' alter its <q>Select Bits</q> attribute, Alt-0 through Alt-9 alter its <q>Data Bits</q> attribute, and the arrow keys alter its <q>Facing</q> attribute.
      </p>
      <dl>
        <dt>
          Facing
        </dt>
        <dd>
          The direction of the component (specifying which side has the outputs).
        </dd>
        <dt>
          Select Location
        </dt>
        <dd>
          The location of the select and enable lines relative to the component.
        </dd>
        <dt>
          Select Bits
        </dt>
        <dd>
          The bit width of the component's select input on its south edge. The number of outputs for the demultiplexer will be 2<sup><var>selectBits</var></sup>.
        </dd>
        <dt>
          Data Bits
        </dt>
        <dd>
          The bit width of the data being routed through the demultiplexer.
        </dd>
        <dt>
          Three-state?
        </dt>
        <dd>
          Specifies whether the unselected outputs should be floating (Yes) or zero (No).
        </dd>
        <dt>
          Disabled Output
        </dt>
        <dd>
          Specifies what each bit of the outputs should be when the component is disabled (i.e., when the enable pin is 0). Options include zero and floating; in the latter case, the outputs are effectively disconnected from any other ports.
        </dd>
        <dt>
          Include Enable?
        </dt>
        <dd>
          The component has an enable input when this attribute is <q>yes.</q> The attribute is primarily for supporting circuits built using older versions of Logisim that did not provide an enable input.
        </dd>
      </dl>
      <h2>
        Poke Tool Behavior
      </h2>
      <p>
        None.
      </p>
      <h2>
        Text Tool Behavior
      </h2>
      <p>
        None.
      </p>
      <p>
        <a href="../index.html">Back to <em>Library Reference</em></a>
      </p>
    </div>
  </body>
</html>
